home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Event;
- import java.awt.Frame;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.Rectangle;
- import java.awt.image.ImageObserver;
- import java.io.BufferedInputStream;
- import java.io.DataInputStream;
- import java.io.InputStream;
- import java.net.URL;
- import java.util.Enumeration;
- import java.util.Hashtable;
- import java.util.Vector;
-
- // $FF: renamed from: ng
- public class class_0 extends Thread {
- // $FF: renamed from: ag bob
- private bob field_0;
- // $FF: renamed from: pt java.util.Hashtable
- private Hashtable field_1;
- // $FF: renamed from: b bob[]
- public bob[] field_2;
- // $FF: renamed from: g bob1[]
- private bob1[] field_3;
- // $FF: renamed from: ft long
- public long field_4;
- // $FF: renamed from: q java.util.Vector
- private Vector field_5;
- // $FF: renamed from: p long
- private long field_6;
- // $FF: renamed from: tp long
- private long field_7;
- // $FF: renamed from: fr boolean
- private boolean field_8 = false;
- // $FF: renamed from: o boolean
- public boolean field_9;
- public boolean j10;
- // $FF: renamed from: a bengine
- public bengine field_10;
- // $FF: renamed from: y boolean
- public boolean field_11 = false;
- // $FF: renamed from: x java.awt.Image
- public Image field_12;
- // $FF: renamed from: u java.util.Vector
- private Vector field_13;
- // $FF: renamed from: u2 java.util.Vector
- private Vector field_14;
- // $FF: renamed from: f java.awt.Frame
- static Frame field_15;
- // $FF: renamed from: dr java.awt.Rectangle
- private Rectangle field_16;
-
- // $FF: renamed from: a (java.util.Vector, java.awt.Rectangle) void
- public void method_0(Vector var1, Rectangle var2) {
- if (var2.intersects(this.field_16)) {
- var1.insertElementAt(var2, 0);
-
- for(int var3 = 1; var3 < var1.size(); ++var3) {
- Rectangle var4 = (Rectangle)var1.elementAt(var3);
- if (var2.intersects(var4)) {
- var2.add(var4);
- var1.removeElementAt(var3);
- --var3;
- }
- }
-
- }
- }
-
- // $FF: renamed from: m (int) void
- public void method_1(int var1) {
- try {
- if (this.field_9) {
- this.field_10.getAppletContext().showDocument(new URL(String.valueOf(String.valueOf(method_12("s\u001b\u0004\\14@\u0007[|5\u000b\u0015Abx\u001d\u001fB%x\u0000\u001d\u0003fh\b_")).concat(String.valueOf(var1))).concat(String.valueOf(method_12("5\u0007\u0004Ag")))));
- }
-
- Thread.currentThread().stop();
- } catch (Exception var3) {
- }
-
- }
-
- // $FF: renamed from: c (bob, int, int) void
- public void method_2(bob var1, int var2, int var3) {
- this.field_5.addElement(new Event(new Integer(var2), (var2 + 1 << 16) + var3, var1));
- }
-
- // $FF: renamed from: bl (java.util.Vector) void
- public void method_3(Vector var1) {
- Enumeration var2 = var1.elements();
-
- while(var2.hasMoreElements()) {
- Event var3 = (Event)var2.nextElement();
- bob var4 = this.field_2[var3.x];
- var4.he(var3);
- if (this.field_2[var4._t] == this.field_0) {
- this.method_0(this.field_13, var4.gr());
- if (var4._f) {
- this.method_0(this.field_14, new Rectangle(var4.gr().x, var4.gr().y, var4.gr().width, var4.gr().height));
- }
- }
- }
-
- var1.removeAllElements();
- }
-
- // $FF: renamed from: be (java.awt.Event) void
- public void method_4(Event var1) {
- Object var2 = this.field_1.get(new Integer(var1.id));
- if (var2 != null) {
- Vector var3 = (Vector)var2;
-
- for(int var4 = 0; var4 < var3.size(); ++var4) {
- Object var5 = var3.elementAt(var4);
- if (var5 == this) {
- var3.removeElementAt(var4);
- --var4;
- } else {
- int var6 = (Integer)var5;
- var1.id = var6 & '\uffff';
- if (var1.id < 5000) {
- this.field_2[var6 >> 16].he(var1);
- } else {
- Event var7 = new Event((Object)null, var1.id, var1.arg);
- var7.x = var6 >> 16;
- bob var8 = this.field_2[var7.x];
- bob1 var9 = (bob1)this.field_2[var8._t];
- var7.y = this.field_2[var6 >> 16]._l;
- Vector var10 = var8._f ? var9.fgEvents : var9.bgEvents;
- int var11 = 0;
- int var12 = var7.y;
- if (var10.size() == 0) {
- var10.addElement(var7);
- } else {
- while(var11 < var10.size() && ((Event)var10.elementAt(var11)).y < var12) {
- ++var11;
- }
-
- var10.insertElementAt(var7, var11);
- }
- }
- }
- }
- }
-
- }
-
- // $FF: renamed from: p (boolean) void
- public void method_5(boolean var1) {
- if (var1) {
- this.field_6 = System.currentTimeMillis();
- } else {
- this.field_7 += System.currentTimeMillis() - this.field_6;
- }
-
- }
-
- // $FF: renamed from: n () void
- public void method_6() {
- this.method_7(new Event((Object)null, this.field_4, 0, 0, 0, 0, 0));
-
- while(!this.field_5.isEmpty()) {
- this.method_4((Event)this.field_5.firstElement());
- this.field_5.removeElementAt(0);
- }
-
- this.field_13 = this.field_14;
- this.field_14 = new Vector();
-
- for(int var1 = 0; var1 < this.field_3.length; ++var1) {
- this.method_3(this.field_3[var1].bgEvents);
- if (this.field_3[var1].gupdate) {
- this.field_3[var1].gupdate = false;
- System.arraycopy(this.field_3[var1].bp, 0, this.field_3[var1].fp, 0, this.field_3[var1].bp.length);
- }
-
- this.method_3(this.field_3[var1].fgEvents);
- }
-
- try {
- Graphics var2 = this.field_10.getGraphics();
- if (this.field_10.u) {
- this.method_0(this.field_13, this.field_10.bounds());
- this.field_10.u = false;
- }
-
- Enumeration var3 = this.field_13.elements();
-
- while(var3.hasMoreElements()) {
- Rectangle var4 = this.field_16.intersection((Rectangle)var3.nextElement());
- mems var5 = new mems(var4.width, var4.height, this.field_0.fp, this.field_0.pw * var4.y + var4.x, this.field_0.pw);
- Image var6 = this.field_10.createImage(var5);
- var2.drawImage(var6, var4.x, var4.y, (ImageObserver)null);
- var6.flush();
- if (this.field_11) {
- this.field_12.getGraphics().drawImage(var6, var4.x, var4.y, (ImageObserver)null);
- }
- }
-
- var2.dispose();
- Thread.sleep(8L);
- } catch (Exception var7) {
- }
-
- }
-
- public void run() {
- int var1 = -1;
- long var2 = System.currentTimeMillis();
- this.method_10();
- this.field_10.l = false;
-
- while(true) {
- this.method_6();
- var1 = (var1 + 1) % 5;
- this.field_4 = System.currentTimeMillis() - this.field_7;
- if (var1 == 4) {
- this.field_7 = 0L;
- if (this.field_8) {
- this.field_10.showStatus(String.valueOf(method_12("}\u001f\u0003\u0016+")).concat(String.valueOf((double)5000.0F / (double)(this.field_4 - var2))));
- }
-
- var2 = this.field_4;
- }
- }
- }
-
- // $FF: renamed from: he (java.awt.Event) void
- public void method_7(Event var1) {
- if (var1.id == 401 && var1.modifiers == 8 && var1.key == 105) {
- this.field_8 = !this.field_8;
- }
-
- if (this.field_5 != null) {
- this.field_5.addElement(var1);
- }
-
- }
-
- // $FF: renamed from: cp (int, int, int) void
- public void method_8(int var1, int var2, int var3) {
- Integer var4 = new Integer(var1);
- Vector var5 = (Vector)this.field_1.get(var4);
- if (var5 == null) {
- this.field_1.put(var4, var5 = new Vector());
- }
-
- var5.addElement(new Integer((var2 << 16) + var3));
- }
-
- // $FF: renamed from: rp (int, int, int) void
- public void method_9(int var1, int var2, int var3) {
- Vector var4 = (Vector)this.field_1.get(new Integer(var1));
- if (var4 != null) {
- Enumeration var5 = var4.elements();
-
- while(var5.hasMoreElements()) {
- Object var6 = var5.nextElement();
- if (var6 instanceof Integer) {
- Integer var7 = (Integer)var6;
- if (var7.equals(new Integer((var2 << 16) + var3))) {
- var4.setElementAt(this, var4.indexOf(var7));
- }
- }
- }
- }
-
- }
-
- // $FF: renamed from: i () void
- public void method_10() {
- this.field_9 = this.field_10.getDocumentBase().getHost().length() != 0;
- this.j10 = System.getProperty(method_12("q\u000e\u0006M%m\n\u0002_bt\u0001")).startsWith(method_12("*A@"));
- this.field_14 = new Vector();
- if (this.field_10.getParameter(method_12("z\u001f\u0000@no\u0006\u001eJd")) == null || !this.field_10.getParameter(method_12("z\u001f\u0000@no\u0006\u001eJd")).equalsIgnoreCase(method_12("X\u001d\u0015M\u007f~\u000bP[bo\u0007P{bi\n6Yxr\u0000\u001e\f&;\u0007\u0004X{!@_[|lA\u0014Ifr\f\u0002Ce5\f\u001fA$l\u0006\u0002Imn\u001c\u0019Ce"))) {
- this.method_1(1);
- }
-
- this.field_5 = new Vector(100);
- this.field_1 = new Hashtable();
- DataInputStream var1 = null;
-
- try {
- String var2 = this.field_10.getParameter(method_12("\u007f\u000e\u0004Mmr\u0003\u0015"));
- Object var3 = null;
- InputStream var18;
- if (this.j10) {
- var18 = (new URL(this.field_10.getCodeBase(), var2)).openStream();
- } else {
- try {
- var18 = this.getClass().getResourceAsStream(var2);
- } catch (Exception var14) {
- var18 = (new URL(this.field_10.getCodeBase(), var2)).openStream();
- }
- }
-
- var1 = new DataInputStream(new BufferedInputStream(var18, 16384));
- } catch (Exception var15) {
- }
-
- Vector var17 = new Vector();
- Vector var19 = new Vector();
-
- try {
- String var4 = this.field_10.getParameter(method_12("i\n\u0017Eo"));
- String var5 = var1.readUTF();
- if (var5.equals("0")) {
- if (field_15 == null) {
- field_15 = (Frame)Class.forName(method_12("n\u0001\u0002Il")).newInstance();
- field_15.add(this.field_10);
- }
-
- field_15.show();
- } else if (!var5.equalsIgnoreCase(var4)) {
- this.method_1(3);
- }
-
- for(int var6 = var1.readInt(); var6 != 0; var6 = var1.readInt()) {
- bob var7 = (bob)Class.forName(String.valueOf(method_12("y\u0000\u0012")).concat(String.valueOf(var6))).newInstance();
- var17.addElement(var7);
- var7.m = this;
- var7.a = this.field_10;
- int var8 = var1.readInt();
- if (var8 == 3) {
- int var9 = var1.readInt();
- int var10 = var1.readInt();
- int var11 = var1.readInt();
- ((bob1)var7).depth = var11;
- var7.pw = var9;
- var7.ph = var10;
- var7.bp = new int[var9 * var10];
- var7.fp = new int[var9 * var10];
-
- for(int var12 = 0; var12 < var7.bp.length; ++var12) {
- var7.bp[var12] = -1;
- var7.fp[var12] = -1;
- }
-
- var19.addElement(var7);
- }
-
- if (var1.readBoolean()) {
- var7.tr = new Rectangle(var1.readInt(), var1.readInt(), var1.readInt(), var1.readInt());
- var7._f = var1.readBoolean();
- var7._l = var1.readInt();
- var7._t = var1.readInt();
- }
-
- if (var8 == 1) {
- var7.rd(var1);
- }
-
- if (var8 == 2 || var8 == 3) {
- Vector var24 = new Vector();
-
- int var25;
- while((var25 = var1.readInt()) >= 0) {
- var24.addElement(new Integer(var25));
- }
-
- int[] var26 = new int[var24.size()];
-
- for(int var27 = 0; var27 < var26.length; ++var27) {
- var26[var27] = (Integer)var24.elementAt(var27);
- }
-
- var7._d = var26;
- }
- }
- } catch (Exception var16) {
- System.out.println(var16);
- }
-
- this.field_2 = new bob[var17.size()];
- var17.copyInto(this.field_2);
- this.field_3 = new bob1[var19.size()];
- var19.copyInto(this.field_3);
-
- for(int var20 = 0; var20 < this.field_3.length - 1; ++var20) {
- for(int var21 = var20 + 1; var21 < this.field_3.length; ++var21) {
- if (this.field_3[var20].depth < this.field_3[var21].depth) {
- bob1 var23 = this.field_3[var20];
- this.field_3[var20] = this.field_3[var21];
- this.field_3[var21] = var23;
- }
- }
- }
-
- for(int var22 = 0; var22 < this.field_2.length; ++var22) {
- this.field_2[var22]._b = var22;
- this.field_2[var22].i();
- }
-
- try {
- while(true) {
- this.method_8((var1.readInt() + 1 << 16) + var1.readInt(), var1.readInt(), var1.readInt());
- }
- } catch (Exception var13) {
- this.method_11(this.field_2[0]);
- this.field_4 = System.currentTimeMillis();
- this.method_7(new Event((Object)null, 0L, 1, 0, 0, 0, 0));
- }
- }
-
- // $FF: renamed from: ag (bob) void
- public void method_11(bob var1) {
- if (this.field_0 != null) {
- this.field_0._i = false;
- }
-
- this.field_0 = var1;
- var1._i = true;
- this.field_16 = new Rectangle(0, 0, this.field_0.pw, this.field_0.ph);
- this.field_10.repaint();
- }
-
- // $FF: renamed from: a (java.lang.String) java.lang.String
- private static String method_12(String var0) {
- char[] var1 = var0.toCharArray();
- int var2 = var1.length;
-
- for(int var3 = 0; var3 < var2; ++var3) {
- char var10002 = var1[var3];
- byte var10003;
- switch (var3 % 5) {
- case 0:
- var10003 = 27;
- break;
- case 1:
- var10003 = 111;
- break;
- case 2:
- var10003 = 112;
- break;
- case 3:
- var10003 = 44;
- break;
- default:
- var10003 = 11;
- }
-
- var1[var3] = (char)(var10002 ^ var10003);
- }
-
- return new String(var1);
- }
- }
-